package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.dto.Interact;
import com.example.entity.dto.Topic;
import com.example.entity.dto.TopicType;
import com.example.entity.vo.request.AddCommentVO;
import com.example.entity.vo.request.TopicCreateVO;
import com.example.entity.vo.request.TopicUpdateVO;
import com.example.entity.vo.response.CommentVO;
import com.example.entity.vo.response.TopicDetailsVO;
import com.example.entity.vo.response.TopicPreviewVO;
import com.example.entity.vo.response.TopicTopVO;

import java.util.Collection;
import java.util.List;

/**
 * 作者:xuSen
 * 日期2025/4/28 14:02
 */
public interface TopicService extends IService<Topic> {
    List<TopicType> listTypes();
    String createTopic(TopicCreateVO vo, int uid);
    List<TopicPreviewVO> listTopicByPage(int page, int type);
    List<TopicTopVO> listTopTopic();
    TopicDetailsVO getTopic(int Tid,int uid);
    void interact(Interact interact,boolean state);
    List<TopicPreviewVO> ListTopicCollects(int uid);
    String updateTopic(int uid, TopicUpdateVO vo);

    String addComment(AddCommentVO addCommentVO, int uid);

    List<CommentVO> getComments(int tid, int page);

    void deleteComment(int cid, int uid);

    void deleteTopic(int tid, int uid);
}
